unit clsObsNotaVenda;

interface

uses Dm, dbtables, biblio, Sysutils;

type
  TObsNotaVenda = class(Tobject)
  private
    Nota_numero: string;
    Nota_serie: string;
    Ent_codigo: string;
  public
    ObsNotv_1: string;
    ObsNotv_2: string;
    ObsNotv_3: string;
    ObsNotv_4: string;
    ObsNotv_5: string;
    ObsNotv_6: string;
    function Gravar(p_nota_numero, P_Nota_serie, p_Ent_codigo: string): Byte;
    function Recuperar(p_nota_numero, P_Nota_numero2, P_Nota_serie, p_Ent_codigo: string): Byte;
    function Excluir(p_nota_numero, P_nota_numero2, P_Nota_serie, p_Ent_codigo: string): Byte;
  end;

implementation

{ TObsPedCompras }

function TObsNotaVenda.Excluir(p_nota_numero, P_nota_numero2, P_Nota_serie,
  p_Ent_codigo: string): Byte;
var
  tq: TQuery;
begin
  tq := Tquery.Create(dmint);
  tq.databasename := dmint.db.databasename;
  tq.active := False;
  tq.close;
  tq.sql.Clear;
  tq.params.clear;
  tq.sql.add('DELETE FROM ObsNotaVenda where (Nota_numero=:K_Nota_Numero or Nota_numero=:K_nota_numero2) and Nota_serie=:K_Nota_serie and Ent_codigo=:k_Ent_codigo');
  tq.parambyname('k_Nota_numero').asstring := strzero(p_nota_numero, 9);
  tq.parambyname('k_Nota_numero2').asstring := strzero(P_nota_numero2, 9);
  tq.parambyname('k_Nota_serie').asstring := P_Nota_serie;
  tq.parambyname('k_Ent_codigo').asstring := strzero(p_Ent_codigo, 5);
  tq.execSQL;
  Result := 1;
  tq.close;
  tq.Free;
end;

function TObsNotavenda.Gravar(p_nota_numero, P_Nota_serie,
  p_Ent_codigo: string): Byte;
var
  tq: TQuery;
begin
  tq := TQuery.Create(DmInt);
  tq.DatabaseName := DmInt.Db.DatabaseName;
  tq.active := False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('SELECT * FROM ObsNotaVenda where Nota_numero=:K_Nota_Numero and Nota_serie=:K_Nota_serie and Ent_codigo=:k_Ent_codigo');
  tq.parambyname('k_Nota_numero').asstring := strzero(p_nota_numero, 9);
  tq.parambyname('k_Nota_serie').asstring := P_Nota_serie;
  tq.parambyname('k_Ent_codigo').asstring := strzero(p_Ent_codigo, 5);
  tq.open;
  if tq.eof then begin
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('INSERT INTO ObsNotaVenda VALUES(' +
      ':k_Nota_numero,' +
      ':k_Nota_serie,' +
      ':k_Ent_codigo,' +
      ':k_Obsnotv_1,' +
      ':k_Obsnotv_2,' +
      ':k_Obsnotv_3,' +
      ':k_Obsnotv_4,' +
      ':k_Obsnotv_5,' +
      ':k_Obsnotv_6)');
  end
  else begin
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('UPDATE ObsNotaVenda SET ' +
      'ObsNotv_1 =:k_ObsNotv_1,' +
      'ObsNotv_2 =:k_ObsNotv_2,' +
      'ObsNotv_3 =:k_ObsNotv_3,' +
      'ObsNotv_4 =:k_ObsNotv_4,' +
      'ObsNotv_5 =:k_ObsNotv_5,' +
      'ObsNotv_6 =:k_ObsNotv_6 ' +
      'WHERE Nota_numero=:k_Nota_numero and Nota_serie=:K_nota_serie and Ent_codigo=:k_Ent_codigo');
  end;
  tq.parambyname('k_Nota_numero').asstring := strzero(p_nota_numero, 9);
  tq.parambyname('k_Nota_serie').asstring := P_Nota_serie;
  tq.parambyname('k_Ent_codigo').asstring := strzero(p_Ent_codigo, 5);
  tq.parambyname('k_Obsnotv_1').asstring := Obsnotv_1;
  tq.parambyname('k_Obsnotv_2').asstring := Obsnotv_2;
  tq.parambyname('k_Obsnotv_3').asstring := Obsnotv_3;
  tq.parambyname('k_Obsnotv_4').asstring := Obsnotv_4;
  tq.parambyname('k_Obsnotv_5').asstring := Obsnotv_5;
  tq.parambyname('k_Obsnotv_6').asstring := Obsnotv_6;
  tq.close;
  tq.execsql;
  result := 1;
  tq.close;
  tq.Free;
end;

function TObsNotaVenda.Recuperar(p_nota_numero, P_Nota_numero2,
  P_Nota_serie, p_Ent_codigo: string): Byte;
var
  tq: TQuery;
begin
  tq := Tquery.Create(dmint);
  tq.databasename := DmInt.Db.DatabaseName;
  tq.active := False;
  tq.sql.clear;
  tq.sql.add('SELECT * FROM ObsNotaVenda where (Nota_numero=:K_Nota_Numero or Nota_numero=:K_nota_numero2) and Nota_serie=:K_Nota_serie and Ent_codigo=:k_Ent_codigo');
  tq.parambyname('k_Nota_numero').asstring := strzero(p_nota_numero, 9);
  tq.ParamByName('K_nota_numero2').AsString := strzero(P_Nota_numero2, 9);
  tq.parambyname('k_Nota_serie').asstring := P_Nota_serie;
  tq.parambyname('k_Ent_codigo').asstring := strzero(p_Ent_codigo, 5);
  tq.open;
  Nota_numero := strzero(p_nota_numero, 9);
  Nota_serie := P_Nota_serie;
  Ent_codigo := strzero(p_Ent_codigo, 5);
  if tq.eof then begin
    ObsNotv_1 := '';
    Obsnotv_2 := '';
    Obsnotv_3 := '';
    Obsnotv_4 := '';
    Obsnotv_5 := '';
    Obsnotv_6 := '';
    Result := 0;
  end
  else begin
    ObsNotv_1 := tq.fieldbyname('ObsNotv_1').asstring;
    Obsnotv_2 := tq.fieldbyname('ObsNotv_2').asstring;
    Obsnotv_3 := tq.fieldbyname('ObsNotv_3').asstring;
    Obsnotv_4 := tq.fieldbyname('ObsNotv_4').asstring;
    Obsnotv_5 := tq.fieldbyname('ObsNotv_5').asstring;
    Obsnotv_6 := tq.fieldbyname('ObsNotv_6').asstring;
    Result := 1;
  end;
  tq.Close;
  tq.Free;
end;
end.
